home *** CD-ROM | disk | FTP | other *** search
Text File | 2003-06-06 | 27.2 KB | 1,026 lines |
- // script generated by Xtreeme SiteXpert
- // sitemap and search engine creator
- // http://www.xtreeme.com/sitexpert
- // Copyright(C) 2001-2002 Xtreeme GmbH
-
- // additional defines
- #ifdef MENU_TRANSPARENCY_EFFECT
- #define MENU_TRANSPARENCY_OR_DELAY_EFFECT
- #endif
-
- #ifdef MENU_DELAY_EFFECT
- #define MENU_TRANSPARENCY_OR_DELAY_EFFECT
- #endif
-
- #define makeTransparent f01
- #define showDelayed f02
- #define createMenuItem f03
- #define setRealWidth f04
- #define createPopupFromCode f05
- #define closePopup f06
- #define absToRel f07
- #define openPopup f08
- #define setPopupHeight f09
- #define scrollPopup f10
- #define isChildOfActivePopup f13
- #define onPopupOver f14
- #define onPopupOut f15
- #define getBrowserRect f17
- #define calcClientRect f18
- #define getClientRect f19
- #define onItemClick f20
- #define onNextScroll f21
- #define onItemOver f22
- #define onItemOut f23
- #define expandMenu exM
- #define collapseMenu coM
- #define onDocClick f28
- #define initializeMenu f29
- #define addNewEvent f30
- #define initializeAll f31
- #define errorTrap f32
- #define getAbsolutePath f33
- #define findElement zz
- #define removeHighlight f34
-
- #define popupRightPad v01
- #define curPopupWidth v02
- #define expandArrowSrc v03
- #define ownerMenu v04
- #define highlightColor v05
- #define normalColor v06
- #define highlightBgColor v07
- #define normalBgColor v08
- #define levelAttribs v09
- #define popupOpenHeight v10
- #define bBitmapPopups v11
- #define arrayName v12
- #define arrayItem v13
- #define expandedWnd v14
- #define popupRect v15
- #define browserRect v16
- #define activePopup v17
- #define popupFrame v18
- #define sepFrame v19
- #define openSameFrame v20
- #define imgFolder v21
- #define popAlign v22
- #define popupWidth v23
- #define contentFrame v24
- #define bBitmapScheme v25
- #define itemText v26
- #define itemLink v27
- #define bottomImgHeight v28
- #define scrollTimeout v29
- #define popupArray v30
- #define popupHeight v31
- #define nmenu q
-
- function findElement(e,i)
- {
- return e?e.document.getElementById (i):document.getElementById (i);
- }
-
- function getAbsolutePath(p)
- {
- if(p&&p.indexOf(':/')==-1&&p.indexOf(':\\')==-1&&p.indexOf('/')!=0) return unescape(absPath)+p;
- else return p;
-
- }
-
- function addLoadHandler(lh)
- {
- if (!document.loadHandlers)
- {
- document.loadHandlers=new Array();
- document.loadHandlers[0]=lh;
- document.lastLoadHandler=0;
- }
- else
- {
- document.lastLoadHandler++;
- document.loadHandlers[document.lastLoadHandler]=lh;
- }
- }
- addLoadHandler ('initializeMenu');
- window.onload=initializeAll;
- function errorTrap(){return true;}
- window.onerror=errorTrap;
-
- #ifdef MENU_FILTERS
- function getFilter (nmenu)
- {
- if(!nmenu)return "";
- if(nmenu.shs>0&&IE4) return "progid:DXImageTransform.Microsoft.Shadow(Color="+nmenu.shc+",direction=135,strength="+nmenu.shs+")";
- else if(nmenu.shs<0&&IE4) return "progid:DXImageTransform.Microsoft.Glow(Color="+nmenu.shc+",strength="+(-nmenu.shs)+")";
- }
- #endif
-
- #ifdef MENU_TRANSPARENCY_OR_DELAY_EFFECT
- function makeTransparent(op,opObj,vis,ns,ie,frc)
- {
- if(op||frc)
- {
- if(ns)opObj.style.MozOpacity = vis?op+'%':'';
- #ifdef MENU_FILTERS
- if(ie)opObj.style.filter=(vis?"alpha(opacity="+op+")":"")+" "+getFilter(opObj.nmenu);
- #else
- if(ie)opObj.style.filter=vis?"alpha(opacity="+op+")":"";
- #endif
- }
- }
- #endif
-
- #ifdef MENU_DELAY_EFFECT
- function showDelayed(nmenu,objId,step)
- {
- var obj=findElement(nmenu.popupFrame,objId);
- var objBg=findElement(nmenu.popupFrame,objId+'bgWnd');
- if(nmenu.showDelayedTimeout){nmenu.showDelayedTimeout=null;clearTimeout(nmenu.showDelayedTimeout);}
- var max=nmenu.popupOpacity?nmenu.popupOpacity:100;
- if(obj)makeTransparent((nmenu.fadingSteps-step)*max/nmenu.fadingSteps,obj,1,1,1,1);
- if(objBg)makeTransparent(100,objBg,0,0,nmenu.bBitmapPopups,1);
- if(step<=0)return;
- setTimeout("showDelayed("+nmenu.name+",'"+objId+"',"+(step-1)+")", nmenu.bShowDel/nmenu.fadingSteps);
- }
- #endif
-
- function createMenuItem(nmenu,popup,id,itemLink,itemText,popupArray,levelAttribs,bLast,popupHeight,parent)
- {
- var itemType=0;
-
- #ifdef MENU_SCROLL
- if(itemText&&itemText.indexOf("(^1)")!=-1)itemType=1;
- if(itemText&&itemText.indexOf("(^2)")!=-1)itemType=2;
- #endif
-
- var itemWnd=nmenu.popupFrame.document.createElement("DIV");
- popup.appendChild(itemWnd);
- if(mac)
- {
- var brWnd=nmenu.popupFrame.document.createElement("BR");
- popup.appendChild(brWnd)
- }
- addNewEvent(itemWnd,"mouseover",onItemOver,false);
- addNewEvent(itemWnd,"mouseout",onItemOut,false);
- addNewEvent(itemWnd,"mousedown",onItemClick,false);
- addNewEvent(itemWnd,"dblclick",onItemClick,false);
- itemWnd.owner=popup;
- itemWnd.id=id;
- with (itemWnd.style)
- {
- position="absolute";
- if(itemType==2)top=popupHeight-nmenu.scrollHeight;
- else top=popupHeight;
- if(itemLink){cursor=(!IE4||version>=6)?"pointer":"hand";}
- else{cursor="default";}
- color=levelAttribs [3];
-
- #ifdef MENU_NO_BITMAP_POPUPS
- if (!nmenu.bBitmapPopups)
- {
- if (!bLast)
- {
- borderBottomColor=nmenu.borderCol;
- borderBottomWidth=nmenu.sep;
- borderBottomStyle="solid";
- }
- }
- else
- #endif
- left=nmenu.popupLeftPad+nmenu.vertSpace;
- if (!itemType)padding=nmenu.vertSpace;
- paddingLeft=nmenu.popupLeftPad+nmenu.vertSpace;
- paddingRight=(nmenu.popupRightPad<nmenu.iconSize?nmenu.iconSize:nmenu.popupRightPad)+nmenu.vertSpace;
- fontSize=levelAttribs[0];
- fontWeight=(levelAttribs[1])?"bold":"normal";
- fontStyle=(levelAttribs[2])?"italic":"normal";
- fontFamily=levelAttribs[6];
- textAlign=(nmenu.popAlign==1?'center':(nmenu.popAlign==2?'right':'left'));
- setRealWidth(itemWnd,nmenu.bBitmapPopups?nmenu.curPopupWidth-nmenu.popupLeftPad-nmenu.popupRightPad-2*nmenu.vertSpace:nmenu.curPopupWidth,2*nmenu.bord);
- }
- if (popupArray)itemWnd.popupArray=popupArray;
-
- #ifdef MENU_SCROLL
- if(itemType>0)
- {
- var arrow=nmenu.popupFrame.document.createElement("IMG");
- itemWnd.appendChild(arrow);
- var arrowSrc=getAbsolutePath(nmenu.imgFolder);
- arrow.src=arrowSrc+"/"+nmenu.fnm+"s"+((itemType==1)?"up":"down")+".gif";
- itemWnd.style.textAlign="center";
- itemWnd.style.display="none";
- }
- else
- #endif
- itemWnd.innerHTML=itemText;
- itemWnd.url=getAbsolutePath(itemLink);
- itemWnd.dispText=itemText;
- if (popupArray)
- {
- var expandArrow=nmenu.popupFrame.document.createElement("IMG");
- itemWnd.appendChild(expandArrow);
- var expandArrowSrc=getAbsolutePath(nmenu.imgFolder);
- expandArrow.src=expandArrowSrc+"/"+nmenu.fnm+"ia.gif";
- with (expandArrow.style)
- {
- width=nmenu.iconSize;
- height=nmenu.iconSize;
- position="absolute";
- var itemRect=getClientRect(nmenu,itemWnd);
- top=(itemRect.bottom-itemRect.top)/2-nmenu.iconSize/2-2;
- left=itemWnd.offsetWidth-nmenu.iconSize-1;
- }
- }
- return itemWnd.offsetHeight;
- }
-
- function setRealWidth(wnd,width,borderWidth)
- {
- wnd.style.width=width-borderWidth;
- if (wnd.offsetWidth>width-borderWidth) wnd.style.width=width-parseInt(wnd.style.paddingLeft)-parseInt(wnd.style.paddingRight);
- }
-
- function createPopupFromCode(nmenu,arrayName,level,ownerMenu)
- {
- var popupName=arrayName+"popup";
- var popup=findElement(nmenu.popupFrame,popupName);
- if (popup)return popup;
- var levelAttribs;
- if(level>0)nmenu.curPopupWidth=nmenu.popupWidth;
- if (level > nmenu.maxlev) {levelAttribs = eval ("nmenu.lev" + nmenu.maxlev) ;} else {levelAttribs = eval ("nmenu.lev" + level) ;}
- popup=nmenu.popupFrame.document.createElement("DIV");
- nmenu.popupFrame.document.body.appendChild(popup);
- popup.id=popupName;
- popup.ownerMenu=ownerMenu;
- popup.level=level;
- popup.highlightColor=levelAttribs[5];
- popup.normalColor=levelAttribs[3];
- popup.highlightBgColor=levelAttribs[7];
- popup.normalBgColor=levelAttribs[4];
- popup.scrVis=false;
- with (popup.style)
- {
- zIndex=maxZ;
- position="absolute";
- width=nmenu.curPopupWidth;
- if (!nmenu.bBitmapPopups)
- {
- borderColor=nmenu.borderCol;
- backgroundColor=levelAttribs[4];
- borderWidth=nmenu.bord;
- borderStyle="solid";
- }
- else backgroundColor="";
- #ifdef MENU_FILTERS
- filter=getFilter(nmenu);
- #endif
- }
- popup.nmenu=nmenu;
- addNewEvent(popup,"mouseout",onPopupOut,false);
- addNewEvent(popup,"mouseover",onPopupOver,false);
-
- var popupHeight=0;
-
- #ifdef MENU_BITMAP_POPUPS
- if (nmenu.bBitmapPopups)
- {
- var source=findElement(0,nmenu.name+'menubg4');
- if (source)
- {
- var imel=nmenu.popupFrame.document.createElement("IMG");
- popup.appendChild(imel);
- imel.src=source.src;
- imel.id=popup.id+"openingImg"
- imel.style.position="absolute";
- imel.style.top=0;
- #ifdef MENU_TRANSPARENCY_EFFECT
- makeTransparent(nmenu.popupOpacity,imel,1,0,1,0);
- #endif
- popupHeight+=nmenu.popupOpenHeight;
- }
- }
- #endif
-
- var bgWnd=nmenu.popupFrame.document.createElement("DIV");
- popup.appendChild(bgWnd);
- bgWnd.id=popup.id+"bgWnd";
- bgWnd.style.position="absolute";
- bgWnd.style.top=nmenu.popupOpenHeight;
- bgWnd.style.width=nmenu.curPopupWidth-2*nmenu.bord;
- bgWnd.innerHTML="<font size='1'> </font>";
-
- #ifdef MENU_BITMAP_POPUPS
- if (nmenu.bBitmapPopups)
- {
- var source=findElement(0,nmenu.name+'menubg5');
- if (source) bgWnd.style.backgroundImage="url("+source.src+")";
- }
- #else
- if(0){}
- #endif
-
- #ifdef MENU_NO_BITMAP_POPUPS
- else
- {
- bgWnd.style.backgroundColor=levelAttribs[4];
- }
- #endif
-
- var array=eval(arrayName);
- var arrayItem;
-
- #ifdef MENU_SCROLL
- createMenuItem(nmenu,popup,popup.id+"scrollUp","javascript:scrollUp("+nmenu.name+",'"+popup.id+"');","(^1)",null,levelAttribs,true,popupHeight,bgWnd);
- #endif
-
- for(arrayItem=0;arrayItem<array.length/3;arrayItem++)
- {
- var popupArray=(array[arrayItem*3+2])?(arrayName+"_"+parseInt(arrayItem+1)):null;
- popupHeight+=createMenuItem(nmenu,popup,null,array[arrayItem*3+1],array[arrayItem*3],popupArray,levelAttribs,(arrayItem == array.length/3-1),popupHeight,bgWnd);
- }
-
- #ifdef MENU_SCROLL
- createMenuItem(nmenu,popup,popup.id+"scrollDown","javascript:scrollDown("+nmenu.name+",'"+popup.id+"');","(^2)",null,levelAttribs,true,popupHeight,bgWnd);
- #endif
-
- var bottomImgHeight=0;
-
- #ifdef MENU_BITMAP_POPUPS
- if (nmenu.bBitmapPopups)
- {
- var source=findElement(0,nmenu.name+'menubg6');
- if (source)
- {
- var imel=nmenu.popupFrame.document.createElement("IMG");
- popup.appendChild(imel);
- imel.src=source.src;
- imel.id=popup.id+"closingImg";
- imel.style.position="absolute";
- imel.style.top=popupHeight-1;
-
- #ifdef MENU_TRANSPARENCY_EFFECT
- makeTransparent(nmenu.popupOpacity,imel,1,0,1,0);
- #endif
-
- bottomImgHeight=imel.offsetHeight;
- popupHeight+=bottomImgHeight;
- }
- }
- #endif
-
- popup.style.height=popupHeight+nmenu.bord*2+bottomImgHeight;
- popup.maxHeight=popupHeight+nmenu.bord*2;
- bgWnd.style.height=popupHeight-nmenu.popupOpenHeight-bottomImgHeight;
-
- #ifdef MENU_TRANSPARENCY_EFFECT
- makeTransparent(nmenu.popupOpacity,bgWnd,1,0,nmenu.bBitmapPopups,0);
- makeTransparent(nmenu.popupOpacity,popup,1,1,!nmenu.bBitmapPopups,0);
- #endif
-
- if(popup.offsetHeight>popupHeight+nmenu.bord*2+bottomImgHeight){popup.style.height=popupHeight;nmenu.bIncBorder=false;popup.maxHeight=popupHeight;}
- return popup;
- }
-
- function closePopup(nmenu,popupId,dl)
- {
- if(popupId.indexOf('_')==-1)
- {
- var hideWnd=findElement(nmenu.popupFrame,'HideItem');
- if(hideWnd)hideWnd.style.visibility='visible';
- if (nmenu.actm&&dl) chgBg (nmenu, nmenu.actm, 0, 1);
- }
- #ifdef MENU_SCROLL
- if(nmenu.scrollTimeout){nmenu.scrollTimeoutStr=null;clearTimeout(nmenu.scrollTimeout);}
- #endif
- var popup=findElement(nmenu.popupFrame,popupId);
- if(popup)
- {
- if(popup.expandedWnd)closePopup(nmenu,popup.expandedWnd.id);
- if(popup.ownerMenu)popup.ownerMenu.expandedWnd=null;
- popup.style.visibility="hidden";
- popup.style.display="none";
- }
- if(nmenu.activePopup&&nmenu.activePopup.id==popupId)nmenu.activePopup=null;
- }
-
- function absToRel(rect,refx,refy)
- {
- var retval=new rct(rect.left-refx,rect.top-refy,rect.right-refx,rect.bottom-refy);
- return retval;
- }
-
- function removeHighlight (popup,actEl)
- {
- var items=popup.getElementsByTagName("DIV");
- var i=0;
- for (;i<items.length;i++)if(actEl!=items[i]&&(!items[i].id||items[i].id.indexOf("scroll")==-1))
- {
- items[i].style.backgroundColor=popup.nmenu.bBitmapPopups?"transparent":popup.normalBgColor;
- items[i].style.color=popup.normalColor;
- }
- }
-
- function openPopup(nmenu,popup,x,y,bDontMove,refWnd)
- {
- if(popup.id.indexOf('_')==-1){var hideWnd=findElement(nmenu.popupFrame,'HideItem');if(hideWnd)hideWnd.style.visibility='hidden';}
- if(nmenu.activePopup&&nmenu.activePopup.id==popup.id)return;
- popup.style.left=x;
- popup.style.top=y;
- popup.style.display="";
- popup.style.visibility="visible";
-
- #ifdef MENU_ENABLE_REVERSED_POPUPS
- if(nmenu.rev)
- {
- if(nmenu.menuHorizontal)
- {
- if (popup.id.indexOf('_')==-1) popup.style.top=y-popup.offsetHeight;
- }
- else
- {
- popup.style.left=x-popup.offsetWidth;
- }
- }
- #endif
-
- var popupRect=getClientRect(nmenu,popup);
- var browserRect=getBrowserRect(nmenu.popupFrame);
- var bResize=(popup.offsetHeight<popup.maxHeight);
-
- if (popupRect.right>browserRect.right)
- {
- if(refWnd&&refWnd.id&&refWnd.id.indexOf('top')==-1)popup.style.left=Math.max(0,refWnd.offsetLeft-popup.offsetWidth+nmenu.levelOffset);
- else popup.style.left=browserRect.right-popup.offsetWidth-5;
- }
-
- #ifdef MENU_SCROLL
- var wnd1=findElement(nmenu.popupFrame,popup.id+"scrollDown");
- var wnd2=findElement(nmenu.popupFrame,popup.id+"scrollUp");
- #endif
-
- var cv=mac?15:(nmenu.bIncBorder?3:20);
- if (((popupRect.bottom>browserRect.bottom)||bResize)&&!NS60)
- {
- var newtop=browserRect.bottom-popup.offsetHeight-cv;
- if(!nmenu.menuHorizontal)bDontMove=false;
- #ifdef MENU_SCROLL
- if (newtop<0||bDontMove||bResize)
- {
- #ifdef MENU_SEPARATE_FRAME
- if(nmenu.sepFrame&&!nmenu.openSameFrame&&nmenu.menuPos==3)popup.style.top=Math.max(browserRect.top,newtop);
- #endif
- var minNum=Math.min(popup.maxHeight,browserRect.bottom-popup.offsetTop-cv-(nmenu.bIncBorder?0:nmenu.bord*2));
- popup.scrVis=(minNum!=popup.maxHeight);
- setPopupHeight(nmenu,popup,browserRect.top,minNum);
- }
- else
- #endif
- popup.style.top=newtop;
- }
-
- #ifdef MENU_SCROLL
- wnd1.style.display=popup.scrVis?"":"none";
- wnd2.style.display=popup.scrVis?"":"none";
- #endif
-
- #ifdef MENU_DELAY_EFFECT
- if(nmenu.bShowDel&&!mac)showDelayed(nmenu,popup.id,nmenu.fadingSteps);
- #endif
-
- removeHighlight (popup,null);
- }
-
- function setPopupHeight(nmenu,popup,documentOffset,height)
- {
-
- #ifdef MENU_SCROLL
- var wnd2=findElement(nmenu.popupFrame,popup.id+"scrollDown");
- var wnd4=findElement(nmenu.popupFrame,popup.id+"scrollUp");
- #endif
-
- var wnd3=findElement(nmenu.popupFrame,popup.id+"bgWnd");
- var wnd1Height=0;
-
- #ifdef MENU_BITMAP_POPUPS
- if(nmenu.bBitmapPopups)
- {
- var wnd1=findElement(nmenu.popupFrame,popup.id+"closingImg");
- var wnd5=findElement(nmenu.popupFrame,popup.id+"openingImg");
- wnd1Height=wnd1.offsetHeight;
- wnd1.style.top=height-1-wnd1Height;
- }
- #endif
-
- #ifdef MENU_SCROLL
- wnd2.style.zIndex=maxZ+1;
- wnd4.style.zIndex=maxZ+1;
- #endif
-
- popup.style.height=height;
- wnd3.style.height=height-nmenu.popupOpenHeight-nmenu.bord*2-wnd1Height;
-
- #ifdef MENU_SCROLL
- wnd2.style.top=height-wnd1Height-nmenu.scrollHeight-(nmenu.bIncBorder?nmenu.bord*2:0);
- scrollPopup(nmenu,popup.id,0);
- #endif
- }
-
- #ifdef MENU_SCROLL
- function scrollPopup(nmenu,popupId,dir)
- {
- var popup=findElement(nmenu.popupFrame,popupId);
- var popupRect=getClientRect(nmenu,popup);
- var items=popup.getElementsByTagName("DIV");
- var i=(dir>0?0:items.length-1);
- var off=(dir>0?1:-1);
- var bFirst=true;
- var offset=dir*nmenu.scrollStep;
- if(popup.scrVis)
- {
- popupRect.top+=nmenu.scrollHeight;
- popupRect.bottom-=nmenu.scrollHeight;
- }
- popupRect.bottom-=2*nmenu.bord;
- var wnd1Height=0;
- #ifdef MENU_BITMAP_POPUPS
- if(nmenu.bBitmapPopups)wnd1Height=findElement(nmenu.popupFrame,popup.id+"closingImg").offsetHeight;
- #endif
- for (;i<items.length&&i>=0;i+=off)
- {
- var item=items[i];
- if (!item.id||(item.id.indexOf("scroll")==-1&&item.id.indexOf("bgWnd")==-1))
- {
- var itemRect=getClientRect(nmenu,item);
- if(bFirst&&dir==0){offset=popup.maxHeight-(item.offsetTop+item.offsetHeight)+(popup.scrVis?nmenu.scrollHeight:0)-(nmenu.bIncBorder?nmenu.bord*2:0)-wnd1Height;}
- var relRect=absToRel(popupRect,itemRect.left,itemRect.top+offset);
- if (dir>0 && relRect.top<-nmenu.scrollHeight && bFirst) return;
- if (dir<0 && itemRect.bottom+offset<popupRect.bottom-nmenu.scrollHeight-wnd1Height && bFirst) return;
- if(offset!=0)item.style.top=item.offsetTop+offset;
- if(!mac)item.style.clip="rect("+relRect.top+","+relRect.right+","+relRect.bottom+","+relRect.left+")";
- if (relRect.bottom<0||relRect.top>item.offsetHeight)
- item.style.visibility="hidden";
- else
- item.style.visibility="visible";
- bFirst=false;
- }
- }
- if(popup.scrPos)popup.scrPos+=offset;
- else popup.scrPos=offset;
- }
-
- function scrollUp(nmenu,popupId)
- {
- scrollPopup(nmenu,popupId,1);
- }
-
- function scrollDown(nmenu,popupId)
- {
- scrollPopup(nmenu,popupId,-1);
- }
- #endif
-
- function isChildOfActivePopup(nmenu,popup)
- {
- var wnd=nmenu.activePopup;
- while(wnd)
- {
- if (wnd.id==popup.id)
- return true;
- wnd=wnd.expandedWnd;
- }
- return false;
- }
-
- function onPopupOver()
- {
- var nmenu=this.nmenu;
- if (nmenu.activePopup&&nmenu.activePopupTimeout&&isChildOfActivePopup (nmenu,this))clearTimeout(nmenu.activePopupTimeout);
- }
-
- function onPopupOut()
- {
- var nmenu=this.nmenu;
- onPopupOutImpl(nmenu,this);
- }
-
- function onPopupOutImpl(nmenu,popup)
- {
- if(nmenu.mout&&nmenu.activePopup&&isChildOfActivePopup(nmenu,popup))
- {
- if(nmenu.activePopupTimeout)clearTimeout(nmenu.activePopupTimeout);
- nmenu.activePopupTimeout=setTimeout("closePopup("+nmenu.name+",'"+nmenu.activePopup.id+"',1);",nmenu.closeDelay);
- }
- }
-
- function rct(left,top,right,bottom)
- {
- this.left=left;
- this.top=top;
- this.right=right;
- this.bottom=bottom;
- }
-
- function getBrowserRect(doc)
- {
- var left=0;
- var top=0;
- var right;
- var bottom;
- if(doc.pageXOffset)left=doc.pageXOffset;
- else if(doc.document.body.scrollLeft)left=doc.document.body.scrollLeft;
- if(doc.pageYOffset)top=doc.pageYOffset;
- else if(doc.document.body.scrollTop)top=doc.document.body.scrollTop;
- if(doc.innerWidth)right=left+doc.innerWidth;
- else if(doc.document.body.clientWidth)right=left+doc.document.body.clientWidth;
- if(doc.innerHeight)bottom=top+doc.innerHeight;
- else if(doc.document.body.clientHeight)bottom=top+doc.document.body.clientHeight;
- var retval=new rct(left,top,right,bottom);
- return retval;
- }
-
- function calcClientRect(nmenu,wnd)
- {
- var left=mac?parseInt(document.body.leftMargin):0;
- var top=mac?parseInt(document.body.topMargin):0;
- var right=0;
- var bottom=0;
- var par=wnd;
- while (par)
- {
- left=left+parseInt(par.offsetLeft);
- top=top+parseInt(par.offsetTop);
- if (par.offsetParent==par || par.offsetParent==nmenu.popupFrame.document.body) break;
- par=par.offsetParent;
- }
- right=left+parseInt(wnd.offsetWidth);
- bottom=top+parseInt(wnd.offsetHeight);
- var retval=new rct(left,top,right,bottom);
- return retval;
- }
-
- function getClientRect(nmenu,wnd)
- {
- if ((mac||DOM||Opera7)&&wnd.getBoundingClientRect) return wnd.getBoundingClientRect ();
- return calcClientRect(nmenu,wnd);
- }
-
- function findFr(wn,fr)
- {
- if(wn.frames)
- {
- for(var i=0;i<wn.frames.length;i++)
- {
- if(wn.frames[i].name==fr)return wn.frames[i];
- var ret=findFr(wn.frames[i],fr);
- if(ret)return ret;
- }
- }
- return null;
- }
-
- function onItemClick()
- {
- var item=this;
- var close=true;
- var nmenu=this.owner.nmenu;
- if (item.url)
- {
- var trgFrame=nmenu.cntFrame;
- var startPos=item.dispText.indexOf('<!--');
- if (startPos!=-1)
- {
- var endPos = item.dispText.indexOf('-->',startPos);
- trgFrame = item.dispText.substring (startPos+4,endPos);
- }
- if(trgFrame)
- {
- if (trgFrame=="_blank") window.open (item.url);
- else if (trgFrame=="_top") window.top.location.href=item.url;
- else if (trgFrame.indexOf('_')==0) parent.location.href=item.url;
- else
- {
- var fr=findFr(window.top,trgFrame);
- if(fr)fr.location.href=item.url;
- else window.location.href=item.url;
- }
- }
- else
- {
- var find=item.url.indexOf("javascript:");
- if (find!=-1)
- {
- eval(item.url.substring(find));
- #ifdef MENU_SCROLL
- if(item.url.indexOf("scroll")!=-1) close=false;
- #endif
- }
- else
- {
- var mt=item.url.indexOf("mailto:");
- if(mt!=-1)window.top.location=item.url.substring(mt);
- else nmenu.targetFrame.location=item.url;
- }
- }
- if(nmenu.activePopup&&close)closePopup(nmenu,nmenu.activePopup.id,1);
- }
- }
-
- #ifdef MENU_SCROLL
- function onNextScroll(nmenu)
- {
- if(nmenu.scrollTimeoutStr)
- {
- eval(nmenu.scrollTimeoutStr);
- if(nmenu.scrollTimeout)clearTimeout(nmenu.scrollTimeout);
- nmenu.scrollTimeout=setTimeout("onNextScroll("+nmenu.name+")",nmenu.scrollDelay);
- }
- }
- #endif
-
- function onItemOver()
- {
- var item=this;
- var nmenu=this.owner.nmenu;
-
- var bOp=0;
-
- #ifdef MENU_SCROLL
- if (item.id&&item.id.indexOf("scroll")!=-1)
- {
- nmenu.scrollTimeoutStr=item.url;
- var jsind=nmenu.scrollTimeoutStr.indexOf('javascript:');
- if(jsind!=-1)nmenu.scrollTimeoutStr=nmenu.scrollTimeoutStr.substring(jsind);
- onNextScroll(nmenu);
- return;
- }
- #endif
-
- if (item.owner.expandedWnd)
- {
- if(item.popupArray&&item.popupArray+'popup'==item.owner.expandedWnd.id)bOp=1;
- if(!bOp)closePopup(nmenu,item.owner.expandedWnd.id);
- }
- if (item.url&&item.url.indexOf("javascript:")==-1)
- window.status=item.url;
- else
- window.status="";
- #ifdef MENU_TRANSPARENCY_EFFECT
- makeTransparent(nmenu.popupOpacity,item,1,0,nmenu.bBitmapPopups,0);
- #endif
-
- removeHighlight (item.owner,item);
-
- item.style.color=item.owner.highlightColor;
- item.style.backgroundColor=item.owner.highlightBgColor;
-
- if (item.popupArray&&!bOp)
- {
- var rect=getClientRect(nmenu,item);
- var x=rect.right-nmenu.levelOffset;
- var y=rect.top;
- var popup=createPopupFromCode(nmenu,item.popupArray,item.owner.level+1,item.owner);
- item.owner.expandedWnd=popup;
-
- #ifdef MENU_ENABLE_REVERSED_POPUPS
- if(nmenu.rev)
- {
- if(!nmenu.menuHorizontal)
- {
- x-=nmenu.curPopupWidth-nmenu.levelOffset;
- }
- }
- #endif
-
- openPopup(nmenu,popup,x,y+2,false,item.owner);
- }
- }
-
- function onItemOut()
- {
- var item=this;
- var nmenu=this.owner.nmenu;
- #ifdef MENU_SCROLL
- if(nmenu.scrollTimeout){nmenu.scrollTimeoutStr=null;clearTimeout(nmenu.scrollTimeout);}
- #endif
-
- #ifdef MENU_TRANSPARENCY_EFFECT
- makeTransparent(nmenu.popupOpacity,item,0,0,nmenu.bBitmapPopups,0);
- #endif
-
- #ifdef MENU_SCROLL
- if (item.id&&item.id.indexOf("scroll")!=-1) return;
- #endif
-
- window.status="";
- }
-
- function expandMenu(nmenu,popupId,refWnd,dum,ml,mt,mr,mb)
- {
- if(!docLoaded)return;
- if(nmenu.activePopupTimeout)clearTimeout(nmenu.activePopupTimeout);
- if (nmenu.activePopup&&nmenu.activePopup.id!=popupId+"popup")
- closePopup(nmenu,nmenu.activePopup.id);
- if(popupId=='none')return;
- var rect;
- if(refWnd=='coords')
- {
- rect=calcClientRect(nmenu,findElement(0,nmenu.name+'tl'));
- rect.left=rect.left+ml;
- rect.top=rect.top+mt;
- rect.right=rect.left+mr;
- rect.bottom=rect.top+mb;
- }
- else
- {
- rect=calcClientRect(nmenu,findElement(0,refWnd));
- }
- if(nmenu.bVarWidth&&!nmenu.bBitmapPopups)nmenu.curPopupWidth=rect.right-rect.left+(IE4?nmenu.bord*2:0);
- var x;
- var y;
-
- #ifndef MENU_ENABLE_REVERSED_POPUPS
-
- #ifdef MENU_HORIZONTAL
- #ifdef MENU_VERTICAL
- if(nmenu.menuHorizontal)
- {
- x=rect.left-nmenu.bord;
- y=rect.bottom+nmenu.popupOffset;
- }
- else
- {
- x=rect.right+nmenu.popupOffset;
- y=rect.top-nmenu.bord;
- }
- #endif
- #endif
-
- #ifdef MENU_HORIZONTAL
- #ifndef MENU_VERTICAL
- x=rect.left-nmenu.bord;
- y=rect.bottom+nmenu.popupOffset;
- #endif
- #endif
-
- #ifndef MENU_HORIZONTAL
- #ifdef MENU_VERTICAL
- x=rect.right+nmenu.popupOffset;
- y=rect.top-nmenu.bord;
- #endif
- #endif
-
- #else
-
- if(nmenu.menuHorizontal)
- {
- x=rect.left-nmenu.bord;
- y=nmenu.rev?rect.top-nmenu.popupOffset:rect.bottom+nmenu.popupOffset;
- }
- else
- {
- x=nmenu.rev?rect.left-nmenu.popupOffset:rect.right+nmenu.popupOffset;
- y=rect.top-nmenu.bord;
- }
-
- #endif
-
- #ifdef MENU_SEPARATE_FRAME
- if(nmenu.sepFrame&&!nmenu.openSameFrame)
- {
- var brRect=getBrowserRect(nmenu.popupFrame);
- var wRect=getBrowserRect(window);
- switch (nmenu.menuPos)
- {
- case 0:
- x=brRect.left+nmenu.popupOffset;
- y+=brRect.top-wRect.top;
- break;
- case 1:
- x=brRect.right-nmenu.popupOffset;
- y+=brRect.top-wRect.top;
- break;
- case 2:
- x+=brRect.left-wRect.left;
- y=brRect.top+nmenu.popupOffset;
- break;
- case 3:
- x+=brRect.left-wRect.left;
- y=brRect.bottom-nmenu.popupOffset;
- break;
- }
- }
- #endif
-
- var popup=createPopupFromCode(nmenu,popupId,0,null);
- openPopup(nmenu,popup,x+nmenu.xOff,y+nmenu.yOff,true,null);
- nmenu.activePopup=popup;
- }
-
- function collapseMenu(nmenu,popupId)
- {
- if(!docLoaded)return;
- var popup=findElement(nmenu.popupFrame,popupId+"popup");
- if(popup)onPopupOutImpl(nmenu,popup);
- }
-
- function expandMenuNS(nmenu,popupId,e,dItem)
- {
- }
-
- function collapseMenuNS(nmenu,popupId)
- {
- }
-
- function onDocClick()
- {
- var nmn;
- for(nmn=1;nmn<=lastm;nmn++)
- {
- var nmenu=eval("window.m"+nmn);
- if(nmenu&&nmenu.activePopup)closePopup(nmenu,nmenu.activePopup.id,1);
- }
- }
-
- function initializeMenu()
- {
- if(docLoaded)return;
- var nmn;
- for(nmn=1;nmn<=lastm;nmn++)
- {
- var nmenu=eval("window.m"+nmn);
- if(nmenu)
- {
- nmenu.popupFrame=(nmenu.sepFrame&&!nmenu.openSameFrame)?findFr(window.top,nmenu.contentFrame):window;
- nmenu.targetFrame=(nmenu.sepFrame)?findFr(window.top,nmenu.cntFrame):window;
- if(!nmenu.mout)addNewEvent(nmenu.popupFrame.document,"mousedown",onDocClick,false);
- #ifdef MENU_DYNAMIC_ARROWS
- if(nmenu.rm>=0)
- {
- var images=document.getElementsByTagName('img');
- for(im=0;im<images.length;im++)
- {
- var curim=images[im];
- if(curim.id.indexOf('hidim'+nmn)!=-1)
- {
- var newar=document.createElement('img');
- document.body.appendChild(newar);
- var itemRect=getClientRect(nmenu,curim.parentElement?curim.parentElement.parentElement.parentElement:curim.parentNode.parentNode.parentNode);
- var curimRect=getClientRect(nmenu,curim);
- newar.style.position="absolute";
- newar.style.top=curimRect.top;
- newar.style.left=itemRect.right-nmenu.iconSize-2-nmenu.rm;
- newar.width=nmenu.iconSize;
- newar.height=nmenu.iconSize;
- var expandArrowSrc=getAbsolutePath(nmenu.imgFolder);
- newar.src=expandArrowSrc+"/"+nmenu.fnm+"ia.gif";
- }
- }
- }
- #endif
- }
- }
-
- docLoaded=true;
- }
-
- function addNewEvent(obj,event,fun,bubble)
- {
- if (obj.addEventListener)
- obj.addEventListener(event,fun,bubble);
- else
- eval("obj.on"+event+"="+fun);
- }
-
- function chgBg(nmenu,item,color,cl)
- {
- if (!IE4&&!DOM&&!Opera7)return;
- var el=findElement(0,item);
- var ela=findElement(0,item+'a');
- if (color==0)
- {
- if (cl)
- {
- if(!nmenu.bBitmapScheme)el.style.background=nmenu.tlmOrigBg;
- if(ela)ela.style.color=nmenu.tlmOrigCol;
- el.style.color=nmenu.tlmOrigCol;
- }
- }
- else
- {
- if(nmenu.actm) chgBg (nmenu, nmenu.actm, 0, 1);
- if(!nmenu.bBitmapScheme&&(color&1))el.style.background=nmenu.tlmHlBg;
- if(ela&&color&2)ela.style.color=nmenu.tlmHlCol;
- el.style.color=nmenu.tlmHlCol;
- nmenu.actm = item;
- }
- }
-
- function initializeAll()
- {
- var i;
- for(i=0;i<=document.lastLoadHandler;i++)
- {
- eval(document.loadHandlers[i]+'();');
- }
- }